The present invention relates in general to the coding of a block of coefficients and in particular to the coding of a block of transform coefficients of a digital image.
The field of digital data compression and in particular digital image compression has attracted great interest for some time.
In the field of digital image compression, many different techniques have been utilized. In particular, one popular technique is the JPEG standard, which utilizes the discrete cosine transform to transform standard size blocks of an image into corresponding cosine components. The JPEG standard also provides for the subsequent compression of the transformed coefficients.
Recently, the field of wavelet transforms has gained great attention as an alternative form of data compression. The wavelet transform has been found to be highly suitable in representing data having discontinuities such as sharp edges. Such discontinuities are often present in image data or the like.
Although the preferred embodiments of the present invention will be described with reference to the compression of image data, it will be readily evident that the preferred embodiment is not limited thereto. For examples of the many different applications of Wavelet analysis to signals, reference is made to a survey article entitled xe2x80x9cWavelet Analysisxe2x80x9d by Bruce et. al. appearing in IEEE Spectrum, October 1996 pages 26-35. For a discussion of the different applications of wavelets in computer graphics, reference is made to xe2x80x9cWavelets for Computer Graphicsxe2x80x9d, I. Stollinitz et. al. published 1996 by Morgan Kaufmann Publishers, Inc.
It would be desirable to provide a method and hardware of an encoder so as to provide for efficient and effective encoding of a series of coefficients in order to substantially increase the speed of encoding.
According to still another aspect of the invention, there is provided an encoder for generating a coded representation of a digital image, said encoder comprising: an input means for inputting a block of coefficients of said digital image; a plurality of tree builders, wherein each tree builder generates a tree and nodes based on a corresponding bitplane of said block of coefficients, and each said node corresponds to one of a plurality of sub-regions of said block of coefficients or to one of said coefficients and each said node having a data value indicative of the significance of said one sub-region or said one coefficent for that bitplane; a bitplane converter for generating respective bitplanes from the block of coefficients; and a bitplane encoder coupled to said plurality of tree builders and said bitplane converter for producing a coded representation of the digital image from said trees and bitplanes, wherein said bitplane encoder codes the significance of said sub-regions or coefficients in a current said bitplane when said sub-regions and coefficients have corresponding most significant bits in the current bitplane or less and codes corresponding bits of coefficients in said current bitplane when said coefficients have corresponding most significant bits in a bitplane greater than the current bitplane.